FTP (vsftpd) 相关
sudo dnf install vsftpd
安装 FTP 服务端。 sudo systemctl enable --now vsftpd
开机启动。
编辑 /etc/vsftpd/vsftpd.conf 进行配置:
# 关闭匿名用户登录 anonymous_enable=NO # 生成目录默认777,文件默认666,尽量保持默认 #local_umask=000 # 不阻止用户访问上级目录 chroot_local_user=YES # 不阻止用户访问上级目录 chroot_list_enable=YES # 允许 chroot 用户具备写权限 allow_writeable_chroot=YES
启用 chroot_local_user
,就需要创建 /etc/vsftpd/chroot_list 文件:
# 填入用户,如 user1。 user1 # 如果不填 user1,那么 user1 登录后直接访问到的目录是 /home/ftp,并且不能访问上一级 # 如果填了 user1,那么 user1 可以访问上一级 # 不管填不填,都要有这个文件
通过搭配能实现以下几种效果:
chroot_list_enable=YES
chroot_local_user=YES
: /etc/vsftpd/chroot_list 文件中列出的用户,可以切到其他目录;未在文件中列出的用户,不能切到其他目录。chroot_list_enable=YES
chroot_local_user=NO
: /etc/vsftpd.chroot_list 文件中列出的用户,不能切到其他目录;未在文件中列出的用户,可以切到其他目录。chroot_list_enable=NO
chroot_local_user=YES
: 所有的用户不能切到其他目录。chroot_list_enable=NO
chroot_local_user=NO
: 所有的用户可以切到其他目录。
配置好后重新启动 sudo systemctl restart vsftpd
。